package com.atguigu.controller;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * TaskController
 *
 * @Author: 马伟奇
 * @CreateTime: 2021-02-23
 * @Description:
 */
@Component
public class TaskController {

    /**
     * fixedDelay:延迟执行，距离上一次任务，执行完成之后，在过N毫秒，在执行下一次任务
     * 执行A任务花了5秒钟，比如参数还是3000，在过3秒钟在执行下一次任务
     *
     *
     * fixedRate:执行周期 ，距离上一次任务，执行完成之后，在过N毫秒，在执行下一次任务
     * 执行A任务花了2秒钟，比如参数还是3000，在过一秒钟执行下一次任务
     * 执行A任务花了5秒钟，比如参数还是3000，立即执行
     */


    @Scheduled(fixedRate = 3000)
    public void myTask() {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(simpleDateFormat.format(new Date()));
        try {
            Thread.sleep(5000);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}